/**
 * @brief Controller.h
 */

#ifndef FRULES_H_
#define FRULES_H_

#include "Controller.h"
#include "SensAct.h"

#include <queue>

class FRules : public Controller
{
public:
  FRules();
  virtual ~FRules();

private:
  void input(const Sensors& values);
  Motor& output();

private:
  Motor motor;
  double weight[NUM_SENS][NUM_ACTION];

  double threshold_act;
  double threshold_crit;
  double threshold_penalty;

  std::queue<Action> queue;
};

#endif /* FRULES_H_ */
